package com.yinhai.util;

import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;

import android.content.Context;

public class Utils {

	 /**
     * 将BYTE数组的部分数据转换成一个十六进制字符串。转换出来的数据,每个字节中间有空格。
     *
     * @param value  需要转换的BYTE数组。
     * @param length 需要转换的长度，如果length>value.length,这转换value中所有数据。
     * @return 转换后的十六进制字符串。
     */
    public static String bytesToString(byte[] value, int length) {
        StringBuilder result = new StringBuilder();

        final String hexChar = "0123456789ABCDEF";
        for (int i = 0; i < length && i < value.length; i++) {
            int n1 = value[i] & (byte) 0x0f;
            int n2 = (value[i] & 0xf0) >> 4;

            char a = hexChar.charAt(n2);
            char b = hexChar.charAt(n1);
            result.append(a);
            result.append(b);

            if (i + 1 < value.length)
                result.append(' ');
        }
        return result.toString();
    }
    public static String InputStreamTOString(InputStream is) throws Exception{  
    	BufferedReader in = new BufferedReader(new InputStreamReader(is));
    	    StringBuffer buffer = new StringBuffer();
    	    String line = "";
    	    while ((line = in.readLine()) != null){
    	      buffer.append(line);
    	    }
    	    return buffer.toString();
    }  
    /**
     * dp转换为像素
     * 
     * @param context
     * @param dpValue
     * @return
     */
    public static int dip2px(Context context, float dpValue) {
        final float scale = context.getResources().getDisplayMetrics().density;
        return (int)(dpValue * scale + 0.5f);
    }
}
